package cn.itcast.web.controller.stat;

import cn.itcast.service.stat.StatService;
import cn.itcast.web.controller.system.BaseController;
import com.alibaba.dubbo.config.annotation.Reference;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.List;
import java.util.Map;

@Controller
@RequestMapping("/stat")
public class StatController extends BaseController {

  @Reference
  StatService statService;
  /*
      作用： 进入到对应的统计页面
      url: /stat/toCharts.do
      参数： chartsType=factory
      返回： 对应报表页面
   */
  @RequestMapping("/toCharts")
  public String toCharts(String chartsType) {
    return "stat/stat-" + chartsType;
  }

  /*
       作用： 提供厂家销售情况的数据
       url: /stat/getFactoryData
       参数： chartsType
       返回： 厂家的销售数据，json格式。
    */
  @RequestMapping("/getFactoryData")
  @ResponseBody
  public List<Map<String,Object>> getFactoryData() {
    return statService.getFactoryData(getLoginCompanyId());
  }
   /*
       作用： 获取产品销售的前五名数据
       url: /stat/getSellData
       参数： chartsType
       返回： 获取产品销售的前五名数据，json格式。
    */
  @RequestMapping("/getSellData")
  @ResponseBody
  public List<Map<String,Object>>getSellData(String chartsType) {
    return statService.getSellData(getLoginCompanyId());
  }

  /*
      作用： 获取系统访问压力数据
      url: /stat/getOnLineData
      返回：  获取系统访问压力数据，json格式。
   */
  @RequestMapping("/getOnlineData")
  @ResponseBody
  public List<Map<String,Object>> getOnLineData(String chartsType) {
    return statService.getOnlineData(getLoginCompanyId());
  }
}
